const webpack = require("webpack");
const path = require("path");
const fs = require("fs");

var rootPath = path.join(__dirname, "../");

const baseConfig = require("./webpack.base.config");

var utils = require("./utils.js");

const config = (env) => {
  var entry_folder = "entry";

  //入口
  if (env && env["entry_folder"] && env["entry_folder"].length > 0) {
    entry_folder = env["entry_folder"];
  }

  var { entrys, htmlPlugin } = utils.getConfig(entry_folder);

  return {
    ...baseConfig,
    mode: "development",

    devtool: "source-map",

    entry: entrys,

    devServer: {
      hot: true, // 热替换
      contentBase: path.join(__dirname, "../dist"), // server文件的根目录
      // compress: true, // 开启gzip
      host: "localhost",
      port: 8088, // 端口
      proxy: {
        // "/sso/": {
        //   target: "http://localhost:8888/",
        //   pathRewrite: { "^/sso": "/" },
        //   changeOrigin: true, // target是域名的话，需要这个参数，
        //   secure: false, // 设置支持https协议的代理
        // },
        // "/zp/": {
        //   target: "http://localhost:7777/",
        //   pathRewrite: { "^/zp": "/" },
        //   changeOrigin: true, // target是域名的话，需要这个参数，
        //   secure: false, // 设置支持https协议的代理
        // },
      },
    },

    plugins: [
      ...htmlPlugin,
      new webpack.HotModuleReplacementPlugin(), // HMR允许在运行时更新各种模块，而无需进行完全刷新
    ],
  };
};

module.exports = config;
